DeployLX Software Protection System

Publisher Limit

The Publisher Limitrestricts the protected software to use by a specific publisher that has strong named their assemblies.

How is the Publisher Limit Enforced?

When the license is validated DeployLX walks the call stack to to find a method defined in an assembly signed by the strong name keys of the given publisher. If a method cannot be found then the license is invalid.

Walking the stack is a computationally intense process. By DeployLX checks only once per session and caches the result. This is effective in most circumstances when the license check occurs only within the constructor of the protected class.

Strong Name Validation

Strong names are used by the .NET Framework to guarantee authenticity of the assembly to the end user. They do not provide any protection against modification of an assembly.

Developers can easily disable strong name checks on an assembly and modify it. DeployLX is not affected by these settings and verifies strong names even if they are disabled by the developer.

Obtaining the Public Key Token from A Publisher

The Publisher Helper application (located in the redistributable of the DeployLX application) makes it easy to obtain the public key token of a strong name key file or a signed assembly. Otherwise use the .NET Framework SDK tools.

To get the public key token from a signed assembly with the .NET Framework SDK

  1. Open the Visual Studio Command Prompt from the Start menu.
  2. Run the strong name tool
    sn -T <path to signed assembly>
  3. The public key token is output to the console.

To get the public key token from a SNK file with the .NET Framework SDK

  1. Open the Visual Studio Command Prompt from the Start menu.
  2. Run the strong name tool
    sn -p <path to SNK file> public.snk
  3. Run the strong name tool a second time
    sn -t public.snk
  4. The public key token is output to the console.

See Also